perm filename COMLIG.MF[CM,DEK]1 blob
sn#791416 filedate 1985-04-23 generic text, type C, neo UTF8
COMMENT ā VALID 00007 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 % This file defines characters common to roman and italic text fonts
C00003 00003 cmchar "Closing quotes"
C00004 00004 cmchar "Hyphen"
C00005 00005 cmchar "Opening quotes"
C00006 00006 cmchar "En dash"
C00007 00007 cmchar "Em dash"
C00008 ENDMK
Cā;
% This file defines characters common to roman and italic text fonts
% that appear only when |ligs>0|.
% Character codes \0042, \0055, \0134, \0173, and \0174 are generated.
ligtable "`": "`"=:oct"134";
ligtable "'": "'"=:oct"042", "?" kern 2u#, "!" kern 2u#;
ligtable "-": "-"=:oct"173";
ligtable oct"173": "-"=:oct"174";
cmchar "Closing quotes";
beginchar(oct"042",9u#,asc_height#,0);
italcorr asc_height#*slant+.5dot_size#-3.5u#;
adjust_fit(0,0);
x2-.5dot_size=round(.5w+.5u-.5dot_size); y2+.5dot_size=h;
x2-x1=round 3.5u; y2=y1;
comma(1,a,dot_size,.25u,comma_depth); % left dot and tail
comma(2,b,dot_size,.25u,comma_depth); % right dot and tail
penlabels(1,2); endchar;
cmchar "Hyphen";
beginchar("-",6u#,x_height#,0); less_rounded;
italcorr .5x_height#*slant-.5u#;
adjust_fit(0,0);
numeric thickness; thickness=if hefty:bar else:.75[hair,stem] fi;
pickup crisp.nib; penpos1(thickness-crisp,90); penpos2(thickness-crisp,90);
top y1r=top y2r=round(.5h+.5thickness); rt x2=round(w-u)+epsilon;
if monospace: x2=w-x1 else: lft x1=round .2u-epsilon fi;
filldraw stroke z1e..z2e; % bar
penlabels(1,2); endchar;
cmchar "Opening quotes";
beginchar(oct"134",9u#,asc_height#,0);
italcorr asc_height#*slant+.5dot_size#-u#;
adjust_fit(0,0);
x1-.5dot_size=round(.5w-.5u-.5dot_size); y1+.5dot_size=h-comma_depth;
x2-x1=round 3.5u; y2=y1;
ammoc(1,a,dot_size,.25u,comma_depth); % left dot and tail
ammoc(2,b,dot_size,.25u,comma_depth); % right dot and tail
penlabels(1,2); endchar;
cmchar "En dash";
beginchar(oct"173",9u#,x_height#,0); less_rounded;
italcorr .61803x_height#*slant+.5u#;
adjust_fit(0,0);
pickup crisp.nib; penpos1(vair-crisp,90); penpos2(vair-crisp,90);
top y1r=top y2r=round(.61803h+.5vair); lft x1=-epsilon; rt x2=w+epsilon;
filldraw stroke z1e..z2e; % bar
penlabels(1,2); endchar;
cmchar "Em dash";
beginchar(oct"174",18u#,x_height#,0); less_rounded;
italcorr .61803x_height#*slant+.5u#;
adjust_fit(0,0);
pickup crisp.nib; penpos1(vair-crisp,90); penpos2(vair-crisp,90);
top y1r=top y2r=round(.61803h+.5vair); lft x1=-epsilon; rt x2=w+epsilon;
filldraw stroke z1e..z2e; % bar
penlabels(1,2); endchar;